1. Field of the Invention
This invention pertains to an interface conformance verification system for verifying conformance among modules for use in an interface allowing a program module to exchange information with the outside.
It also pertains to a system for realizing a verification of conformance among virtual modules yet to be implemented, between declarations within modules and internal processes, as well as between specifications and programs.
Recent systems have become more variant and larger and are constructed by a plurality of modules each in charge of certain predetermined processing. Those modules interact with each other in executing a task.
When these individually created modules are combined to create a single system, it is necessary to confirm, e.g. by the following verifications, that the correct operational results are obtained according to the specification (pursuant to the request) given to the entire system.
A verification of a desirable module configuration.
A verification of a module matching its specification (design).
A verification of no adverse external effect by each module.
A verification of correct interfaces among modules.
2. Description of the Related Arts
A popular method for developing a larger computer program comprises the following steps:
1. dividing the larger computer program into a plurality of modules; PA0 2. defining the information exchanged among modules as an inter-module interface condition; PA0 3. individually creating respective modules, such that the inter-module interface condition is satisfied; PA0 4. combining the modules; and PA0 5. completing the object program.
It is essential to sufficiently debug errors in the earlier stages of the above sequence of steps by performing independent tests for respective modules, because the more advanced the step of the above sequence of steps, i.e., the later the stage of combination, the more difficult it generally becomes to find not only the errors by themselves but also their causes.
Therefore, it is imperative to confirm that there are no material errors in the modules by sufficiently testing each module singly. However, in executing such a test, because other modules are also in their development stages, the interfaces are tested by checking the program through decoding and by executing a module combination with a temporary module provided for the testing purpose.
However, because the check and the creation of a temporary module are performed only for the processes anticipated with the tested modules and the neighboring modules, there could likely be tests, which fail to be applied, and a larger number of steps are required.
Also, it is possible for a target module to sequentially perform a combination test with other modules having interfaces with the target module, based on the already realized function. In such a case, it is possible to treat, as an earlier described interface conformance problem, a problem of verifying the information that the realized function and the function necessary for a test item satisfy the necessary functions in the temporary combination tests.
Here, however, because there is no set standard for dividing a program into a plurality of modules, the designers make such divisions based on their experiences and on the analyses of the requirement of the problem to be solved. As with the program development problem, it is also possible to treat, as an interface conformance problem, a problem of verifying that a modular division in the system design allows realistic operations according to the actual requirements and that the modular division forms a preferred system configuration.
Not only program development but also other problems can be treated as interface conformance problems similarly to the above descriptions. An example of such problems editing by a word processor. There are problems of finding the effects on other documents caused by an insertion or deletion of control attributes, e.g., for changing the character sizes, fonts, and indentations, in a document.